package com.esgov.chatbot.service;

import com.esgov.chatbot.entity.TChatbotSession;
import com.baomidou.mybatisplus.extension.service.IService;
import com.esgov.chatbot.entity.chatbot.*;
import com.esgov.chatbot.entity.chatbot.chat.ChatRequest;
import com.esgov.chatbot.entity.chatbot.chat.ChatResponse;

/**
 * <p>
 * 文本机器人会话 服务类
 * </p>
 *
 * @author Eric Lao
 * @since 2025-09-16
 */
public interface TChatbotSessionService extends IService<TChatbotSession> {

    /**
     * 创建机器人会话
     *
     * @param request 请求参数 {@link CreateChatBotSessionRequest}
     * @return 返回数据 {@link CreateChatBotSessionResponse}
     */
    CreateChatBotSessionResponse createChatBotSession(CreateChatBotSessionRequest request);

    /**
     * 结束人机会话
     *
     * @param request 请求参数 {@link EndChatBotSessionRequest}
     */
    void endChatBotSession(EndChatBotSessionRequest request);

    /**
     * faq反馈
     *
     * @param request 请求参数 {@link FeedbackRequest}
     * @return 返回数据 {@link FeedbackResponse}
     */
    FeedbackResponse feedback(FeedbackRequest request);

    /**
     * 聊天接口（传统FAQ问答）
     *
     * @param request 请求参数 {@link ChatRequest}
     * @return 返回数据 {@link ChatResponse}
     */
    ChatResponse chat(ChatRequest request);
}
